1. Field of the Invention
The present invention relates to a method and system for the security of the file input and output of application programs, in which the execution paths and formats of security control policies for the input and output of files stored in a storage medium are arranged to execute data or application programs, stored in a computer, in a secure environment, so that security control policies are enabled to be easily produced and updated.
2. Description of the Related Art
As is well known, there are a variety of types of digital content, such as text, graphic, and multimedia. Various methods are used to store, represent and distribute such types of digital content.
Here, the term “digital content security” refers to the implementation of the security of authentication /authorization/management regarding the distribution/representation/storage of various types of digital content.
Of the technologies available for implementing the protection of digital content, Digital Rights Management (DRM) is a system technology which is configured to safely transfer a variety of types of digital content from a Content Provider (CP) to customers and prevent customers from illegally distributing content.
The term “document security” which is directed to the protection of digital content collectively refers to a security solution that is configured to protect core information in corporations in corporate environments, to enable confidential information to be safely transferred to the outside, and to prevent illegitimate leakage. That is, it refers to a solution enabling the creation, storage and the internal distribution of important documents and the transfer of the documents to the outside to be systematically managed using integrated security policies, and includes a mixture of various components, such as device control, printer control, authentication and server technologies. Of these components of such document security, a method for preventing data from being illegitimately moved from a storage device by controlling the input and output of the data is referred to as file input and output security.
Meanwhile, in order to implement the security of file input and output, it is necessary to predict various situations of the hacking and leakages of data or a security target application program in advance and establish security control policies capable of immediately dealing with the corresponding situations. That is, for such a security program to effectively protect protection target data or a protection target application program, a developer predicts various hacking and data leakage situations and stores them in a database (DB) or source code (hereinafter collectively referred to as a “DB”) in the form of security control policies, and then data security processing is performed in compliance with the security control policies when hacking and an attempt to leak data is detected. As a result, the superiority of a file input and output security program is dependent on the number of hacking and leakage situations which have been predicted for data stored in the same environment and the quality of security control policies which have been established to prepare for the situations. Although the security method of security programs is not limited to a method using security control policies, it is apparent that this method is a basic data security method.
In greater detail, as shown in FIG. 1 (a block diagram schematically showing the process handling of a conventional security program), when a security program is installed in a computer, a user-level access control engine 113 and a kernel-level access control engine 210 are formed at a user level 100 and a kernel level 200, respectively. In this case, the security program may apply a control module 112 and the user-level access control engine 113 to a security target application program 110, and may not apply the corresponding control module 112 and the user-level access control engine 113 to a non-security target application program 120.
For reference, the user-level access control engine 113 controls the operation of the main process 111 of the security target application program 110, and the kernel-level access control engine 210 controls the operation of a sub-process (not shown) created by the main process 111. Here, the control of the operation of the sub-process of the main process 111 means the control of the reading/access/editing/movement/deletion of data and other data processing which is performed by the main process 111 and the sub-process in compliance with security control policies stored in the DB.
Meanwhile, the user-level access control engine 113 may be configured in the form of a dynamic linking library (DLL) set in the path of a corresponding process, and the kernel-level access control engine 210 may be constructed in the form of a driver. Accordingly, when an attempt to execute a function so as to process specific data is made, the user-level access control engine 113 may block the execution of the function itself in compliance with its own control policies, with the result that a corresponding process may not perform the following procedure when a user requests a task that violates the control policies.
Thereafter, the control module 112 performs the processing of information and data based on information about control target processes and the control policies regarding the copying and pasting of various types of data. The control module 112 is an essential component of a common security program, and may be constructed in the form of a DLL.
As described above, the conventional security program is configured such that the control module 112, the user-level access control engine 113 and the kernel-level access control engine 210 which are linked to the security target application program 110 are created or installed at the user level 100 or the kernel level 200, data related to the security target application program 110 is processed in response to a command input by a user through input means (not shown), and the user-level access control engine 113 and the kernel-level access control engine 210 processes the data in a safe security environment in compliance with the set security control policies.
Meanwhile, in order to execute data or a security program in a stable security environment, the conventional security program requires that many security control policies are stored in a DB and the user-level access control engine 113 and the kernel-level access control engine 210 run in compliance with the stored security control policies. Furthermore, the security program should be installed such that the control module 112, the user-level access control engine 113 and the kernel-level access control engine 210 are applied only to the security target application program 110.
As a result, the conventional security program entails the structural complication and difficulty of production so as to fulfill the above-described conditions. Meanwhile, in order to enhance security, many security control policies should be presented and old security control policies should be updated. These security control policies should be produced using different formats and execution paths for the user level 100, the kernel level 200, the security target application program 110 and the non-security target application program 120, so that the security control policies are not easy to produce and apply.
Furthermore, in order to develop such security control policies, professional personnel should be used to handle the security target application program 110 and a long developing time is required, so that the production and maintenance of a conventional security program are problematic in that excessive costs and efforts are required.